package edu.gatech.oad.mule.view.interfaces;

import java.awt.Color;

public interface RenderableTile extends RenderableZone {

	/**
	 * Represents the resources production status of a tile on the world map.
	 * 
	 * @author Dale Avery
	 * 
	 */
	public static enum ProductionType {
		NO_MULE, ENERGY, FOOD, CRYSTITE, SMITHORE, ERROR
	};

	/**
	 * Represents the geographic type of a tile on the world map.
	 * 
	 * @author Dale Avery
	 * 
	 */
	public static enum TileType {
		TOWN, RIVER, PLAINS, MOUNTAINS_1, MOUNTAINS_2, MOUNTAINS_3, ERROR
	};

	/**
	 * @return the Color of the owner
	 */
	public Color getOwnerColor();

	/**
	 * @return The zone's production type.
	 */
	public ProductionType getProductionType();

	/**
	 * @return The type of the tile.
	 */
	public TileType getTileType();

	/**
	 * @return True if the tile is powered, false otherwise
	 */
	public boolean isEnergized();

}// end interface RenderableTile
